This is essentially a drawing program, with which you can create sprites.
Its special feature is that its drawing tools all provide operations, that
take into account the perspective of a scene.
Perspective
============
Perspective is caused by the fact that objects appear smaller, the further away
they are. This causes vertical, and horizontal surfaces, to scale down smaller
at greater distance, and if they were continued, would tend to disappear, or
become infinitessimally small, at an infinite distance away. Such a place we
call a 'vanishing point'.
A scene in which all buildings are laid out in a true rectangular grid, will
have two vanishing points, but normally only one will be in a visible area of
a picture at a time. When they both show a distorted effect can be achieved.
If one vanishing point is in the centre of the picture, a drawing of a scene
looking straight down a straight road can be achieved. If it is placed off
centre an effect of looking across a road in a slanting way can be made.
Use
===
The best mode for this is 20 or 27. Other modes work but give poor results.
ARM 2 machines are slow, but I have ideas to improve the situation.
The select button is used for most operations described below, while with
one exception adjust provides you with temporary vertical and horizontal
guides, emanating from the pointer.
The program is installed on the icon bar in the usual way, by clicking on the
icon in the directory. The drawing window is opened by clicking on this, and
a white screen, with a toolbox and a small cross in the middle can be seen.
This cross represents the visible vanishing point. Other vanishing points are
sited off the screen at infinite distances away each side.
Icons
======
The top icon can be selected and the vanishing point can then be resited. In
general to get a drawing that looks correct you need to keep it about two
thirds of the way up the screen.
The next icon down, provides you with an 'Undo' option.
The next icon is a familiar fill routine.
The next icon down is use for rubber banding. This is used as in !Draw, and
draws in the selected colour. This operation is the only one that does not
consider perspective; any line can be drawn.
The next icon is for drawing horizontal surfaces. Click and drag, to see a
surface drawn, which tends to disappear the nearer it gets to a vanishing
point. There is a bug in this, and it pays to drag from bottom left to top
right if possible. By selecting one of the options in the sub menu, you can
choose unfilled, filled or paved options. The paved one does not yet, obey
correct perspective, but looks good. The field texture is not yet implemented.
The next icon down draws vertical surfaces. Dragging will only work from top
to bottom. dragging towards the visible vanishing point, draws a surface,
that would vanish at that point. Dragging away from it draws a surface that would vanish at the other vanishing point, off of the screen. The textures sub menu
allows you to choose, unfilled, filled, brick, weather board, or block.
Spacings of these, can be altered from this sub menu too.
The next icon is for dragging simple lines, that go towards or away from
vanishing points. This probably won't often be useful, as all lines on a
picture are really more accurately described as surfaces.
The next icon provides the user with a tool to plant fractal trees and bushes
at the place of their pointer. These trees can't be drawn above the vnishing
point which would be in the sky. They obey the rules of perspective, becoming
smaller further away, though their actual size, can also be changed from
their sub menu as well.
The palette icon is not implemented as I have not yet tried to extend this
to 256 colours, though I hope to. Instead, your standard 16 colours can be chosen from the icons below.
Saving
======
This can be accomplished, from the main window menu, in the usual way. The
sprite created is in mode 20
Drawing
=======
Users should experiment, with the above tools. Artists who understand the rules
of perspective, may find it easy, and it may be of use to teach perspective.
It is limited in several ways, by simplification, and it really needs a fast
machine, as it is written in basic, and it needs high resolution.
Future
======
!ThreeDee should include in the future:
256 colours
Single tasking options
More textures
More fractal options
Drawfile operation
Less bugs and simplifications
Copyright
=========
This program is Public Domain. It may be distributed or copied freely as
long as no part of this software may is used in any other program, whether
commercial or public domain,without my prior written consent, though any
files created by this software are not bound by this condition. This software
may not be distributed for a profit, save that required to cover packaging
and media costs..
Copyright (⌐) is retained by the author, who may be contacted at the address
beneath. No liability can be accepted by the author for any loss or damage
arising from use or misuse of this software.
The program has been amalgamated with !EventShell using
!BLibII by Ian Palmer.
The resulting program has been 'shrunk' using
!BasShrink by John Wallace.
The Fractal trees are copyright of RiscUser and used with their permission.
EventShell =========
Thanks to Paul Hobbs for his very useful !EventShell System.
This application uses the library of routines of the above name, which
provide an easy way of genereating a Wimp Program.
I recommend this system which can be obtained from APDL or other PD
Libraries.
This program has been written using the routines supplied with the EvntShell library which is copyright Paul Hobbs. The library routines may be distributed subject to the following conditions:
You have permission to use any part or the whole library in a project you intend to place in the public domain, as long as I am fully credited (via the inclusion of this file in the program documentation). If you wish to use these routines in a program that is for sale (for however much and for whatever reasons) or released as copyright material then my express permission in writing must be obtained. I maintain copyright on all the material supplied and reserve the right to amend these conditions
in cases where I deem misuse.
The library code is supplied free of charge to everyone 'as is'. There is no guarantee that it is free from bugs and no warranty is given about its suitability for use.
Further details about EvntShell may be obtained from the author:
Paul Hobbs
Rheinpfalzstrasse 2
85049 Ingolstadt
Germany
The heap manager routines used by EvntShell are copyright Risc User and are used with permission.